home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2007 November / PCWNOV07.iso / Software / Freeware / NSIS 2.29 / nsis-2.29-setup.exe / Contrib / Modern UI / System.nsh < prev   
Encoding:
Text File  |  2007-06-08  |  70.9 KB  |  2,360 lines

  1. ;NSIS Modern User Interface version 1.78
  2. ;Macro System
  3. ;Written by Joost Verburg
  4.  
  5. ;Copyright ⌐ 2002-2007 Joost Verburg
  6.  
  7. ;Documentation: Readme.html
  8. ;License: License.txt
  9. ;Examples: Examples\Modern UI
  10.  
  11. !echo "NSIS Modern User Interface version 1.78 - ⌐ 2002-2007 Joost Verburg"
  12.  
  13. ;--------------------------------
  14.  
  15. !verbose push
  16.  
  17. !ifndef MUI_VERBOSE
  18.   !define MUI_VERBOSE 3
  19. !endif
  20.  
  21. !verbose ${MUI_VERBOSE}
  22.  
  23. !ifndef MUI_INCLUDED
  24.  
  25. !define MUI_INCLUDED
  26.  
  27. ;--------------------------------
  28. ;HEADER FILES, DECLARATIONS
  29.  
  30. !verbose push
  31. !verbose ${MUI_VERBOSE}
  32. !include "WinMessages.nsh"
  33. !verbose pop
  34.  
  35. !define MUI_SYSVERSION "1.78"
  36.  
  37. Var /GLOBAL MUI_TEMP1
  38. Var /GLOBAL MUI_TEMP2
  39.  
  40. ;--------------------------------
  41. ;INSERT CODE
  42.  
  43. !macro MUI_INSERT
  44.  
  45.   !ifdef MUI_PRODUCT | MUI_VERSION
  46.     !warning "The MUI_PRODUCT and MUI_VERSION defines have been removed. Use a normal Name command now."
  47.   !endif
  48.  
  49.   !ifndef MUI_INSERT_INTERFACE
  50.     !insertmacro MUI_INTERFACE
  51.     !define MUI_INSERT_INTERFACE
  52.   !endif
  53.  
  54.   !insertmacro MUI_FUNCTION_GUIINIT
  55.   !insertmacro MUI_FUNCTION_ABORTWARNING
  56.  
  57.   !ifdef MUI_UNINSTALLER
  58.     !insertmacro MUI_UNFUNCTION_GUIINIT
  59.     !insertmacro MUI_FUNCTION_UNABORTWARNING
  60.   !endif
  61.  
  62. !macroend
  63.  
  64. ;--------------------------------
  65. ;GENERAL
  66.  
  67. !macro MUI_DEFAULT SYMBOL CONTENT
  68.  
  69.   !ifndef "${SYMBOL}"
  70.     !define "${SYMBOL}" "${CONTENT}"
  71.   !endif
  72.  
  73. !macroend
  74.  
  75. !macro MUI_SET SYMBOL
  76.  
  77.   !ifndef "${SYMBOL}"
  78.     !define "${SYMBOL}"
  79.   !endif
  80.  
  81. !macroend
  82.  
  83. !macro MUI_UNSET SYMBOL
  84.  
  85.   !ifdef "${SYMBOL}"
  86.     !undef "${SYMBOL}"
  87.   !endif
  88.  
  89. !macroend
  90.  
  91. ;--------------------------------
  92. ;INTERFACE - COMPILE TIME SETTINGS
  93.  
  94. !macro MUI_INTERFACE
  95.  
  96.   !ifdef MUI_INSERT_NSISCONF
  97.     !insertmacro MUI_NSISCONF
  98.   !endif
  99.  
  100.   !insertmacro MUI_DEFAULT MUI_UI "${NSISDIR}\Contrib\UIs\modern.exe"
  101.   !insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE "${NSISDIR}\Contrib\UIs\modern_headerbmp.exe"
  102.   !insertmacro MUI_DEFAULT MUI_UI_HEADERIMAGE_RIGHT "${NSISDIR}\Contrib\UIs\modern_headerbmpr.exe"
  103.   !insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_SMALLDESC "${NSISDIR}\Contrib\UIs\modern_smalldesc.exe"
  104.   !insertmacro MUI_DEFAULT MUI_UI_COMPONENTSPAGE_NODESC "${NSISDIR}\Contrib\UIs\modern_nodesc.exe"
  105.   !insertmacro MUI_DEFAULT MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
  106.   !insertmacro MUI_DEFAULT MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
  107.   !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\modern.bmp"
  108.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BGCOLOR "/windows"
  109.   !insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_COLORS "/windows"
  110.   !insertmacro MUI_DEFAULT MUI_INSTFILESPAGE_PROGRESSBAR "smooth"
  111.   !insertmacro MUI_DEFAULT MUI_BGCOLOR "FFFFFF"
  112.   !insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_INI "${NSISDIR}\Contrib\Modern UI\ioSpecial.ini"
  113.   !insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_INI "${NSISDIR}\Contrib\Modern UI\ioSpecial.ini"
  114.   !insertmacro MUI_DEFAULT MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
  115.   !insertmacro MUI_DEFAULT MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\win.bmp"
  116.  
  117.   !ifdef MUI_HEADERIMAGE
  118.  
  119.     !insertmacro MUI_DEFAULT MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\nsis.bmp"
  120.  
  121.     !ifndef MUI_HEADERIMAGE_UNBITMAP
  122.       !define MUI_HEADERIMAGE_UNBITMAP "${MUI_HEADERIMAGE_BITMAP}"
  123.       !ifdef MUI_HEADERIMAGE_BITMAP_NOSTRETCH
  124.         !insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_NOSTRETCH
  125.       !endif
  126.     !endif
  127.  
  128.     !ifdef MUI_HEADERIMAGE_BITMAP_RTL
  129.       !ifndef MUI_HEADERIMAGE_UNBITMAP_RTL
  130.         !define MUI_HEADERIMAGE_UNBITMAP_RTL "${MUI_HEADERIMAGE_BITMAP_RTL}"
  131.         !ifdef MUI_HEADERIMAGE_BITMAP_RTL_NOSTRETCH
  132.           !insertmacro MUI_SET MUI_HEADERIMAGE_UNBITMAP_RTL_NOSTRETCH
  133.         !endif
  134.       !endif
  135.     !endif
  136.  
  137.   !endif
  138.  
  139.   XPStyle On
  140.  
  141.   ChangeUI all "${MUI_UI}"
  142.   !ifdef MUI_HEADERIMAGE
  143.     !ifndef MUI_HEADERIMAGE_RIGHT
  144.       ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE}"
  145.     !else
  146.       ChangeUI IDD_INST "${MUI_UI_HEADERIMAGE_RIGHT}"
  147.     !endif
  148.   !endif
  149.   !ifdef MUI_COMPONENTSPAGE_SMALLDESC
  150.     ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_SMALLDESC}"
  151.   !else ifdef MUI_COMPONENTSPAGE_NODESC
  152.      ChangeUI IDD_SELCOM "${MUI_UI_COMPONENTSPAGE_NODESC}"
  153.   !endif
  154.  
  155.   Icon "${MUI_ICON}"
  156.   UninstallIcon "${MUI_UNICON}"
  157.  
  158.   CheckBitmap "${MUI_COMPONENTSPAGE_CHECKBITMAP}"
  159.   LicenseBkColor "${MUI_LICENSEPAGE_BGCOLOR}"
  160.   InstallColors ${MUI_INSTFILESPAGE_COLORS}
  161.   InstProgressFlags ${MUI_INSTFILESPAGE_PROGRESSBAR}
  162.  
  163.   SubCaption 4 " "
  164.   UninstallSubCaption 2 " "
  165.  
  166.   !insertmacro MUI_DEFAULT MUI_ABORTWARNING_TEXT "$(MUI_TEXT_ABORTWARNING)"
  167.   !insertmacro MUI_DEFAULT MUI_UNABORTWARNING_TEXT "$(MUI_UNTEXT_ABORTWARNING)"
  168.  
  169. !macroend
  170.  
  171. ;--------------------------------
  172. ;INTERFACE - RUN-TIME
  173.  
  174. !macro MUI_INNERDIALOG_TEXT CONTROL TEXT
  175.  
  176.   !verbose push
  177.   !verbose ${MUI_VERBOSE}
  178.  
  179.   FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
  180.   GetDlgItem $MUI_TEMP1 $MUI_TEMP1 ${CONTROL}
  181.   SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
  182.  
  183.   !verbose pop
  184.  
  185. !macroend
  186.  
  187. !macro MUI_HEADER_TEXT_INTERNAL ID TEXT
  188.  
  189.   GetDlgItem $MUI_TEMP1 $HWNDPARENT "${ID}"
  190.  
  191.   !ifdef MUI_HEADER_TRANSPARENT_TEXT
  192.  
  193.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  194.  
  195.   !endif
  196.  
  197.   SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
  198.  
  199.   !ifdef MUI_HEADER_TRANSPARENT_TEXT
  200.  
  201.     ShowWindow $MUI_TEMP1 ${SW_SHOWNA}
  202.  
  203.   !endif
  204.  
  205. !macroend
  206.  
  207. !macro MUI_HEADER_TEXT TEXT SUBTEXT
  208.  
  209.   !verbose push
  210.   !verbose ${MUI_VERBOSE}
  211.  
  212.   !ifdef MUI_HEADER_TRANSPARENT_TEXT
  213.  
  214.     LockWindow on
  215.  
  216.   !endif
  217.  
  218.   !insertmacro MUI_HEADER_TEXT_INTERNAL 1037 "${TEXT}"
  219.   !insertmacro MUI_HEADER_TEXT_INTERNAL 1038 "${SUBTEXT}"
  220.  
  221.   !ifdef MUI_HEADER_TRANSPARENT_TEXT
  222.  
  223.     LockWindow off
  224.  
  225.   !endif
  226.  
  227.   !verbose pop
  228.  
  229. !macroend
  230.  
  231. !macro MUI_HEADER_TEXT_PAGE TEXT SUBTEXT
  232.  
  233.   !ifdef MUI_PAGE_HEADER_TEXT & MUI_PAGE_HEADER_SUBTEXT
  234.     !insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
  235.   !else ifdef MUI_PAGE_HEADER_TEXT
  236.     !insertmacro MUI_HEADER_TEXT "${MUI_PAGE_HEADER_TEXT}" "${SUBTEXT}"
  237.   !else ifdef MUI_PAGE_HEADER_SUBTEXT
  238.     !insertmacro MUI_HEADER_TEXT "${TEXT}" "${MUI_PAGE_HEADER_SUBTEXT}"
  239.   !else
  240.     !insertmacro MUI_HEADER_TEXT "${TEXT}" "${SUBTEXT}"
  241.   !endif
  242.  
  243.   !insertmacro MUI_UNSET MUI_PAGE_HEADER_TEXT
  244.   !insertmacro MUI_UNSET MUI_PAGE_HEADER_SUBTEXT
  245.  
  246. !macroend
  247.  
  248. !macro MUI_DESCRIPTION_BEGIN
  249.  
  250.   FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
  251.   GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1043
  252.  
  253.   StrCmp $0 -1 0 mui.description_begin_done
  254.     SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:"
  255.     EnableWindow $MUI_TEMP1 0
  256.     !insertmacro MUI_INNERDIALOG_TEXT 1043 $MUI_TEXT
  257.     Goto mui.description_done
  258.   mui.description_begin_done:
  259.  
  260. !macroend
  261.  
  262. !macro MUI_DESCRIPTION_TEXT VAR TEXT
  263.  
  264.   !verbose push
  265.   !verbose ${MUI_VERBOSE}
  266.  
  267.   StrCmp $0 ${VAR} 0 mui.description_${VAR}_done
  268.     SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:"
  269.     EnableWindow $MUI_TEMP1 1
  270.     SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:${TEXT}"
  271.     Goto mui.description_done
  272.   mui.description_${VAR}_done:
  273.  
  274.   !verbose pop
  275.  
  276. !macroend
  277.  
  278. !macro MUI_DESCRIPTION_END
  279.  
  280.   !verbose push
  281.   !verbose ${MUI_VERBOSE}
  282.  
  283.   mui.description_done:
  284.  
  285.   !verbose pop
  286.  
  287. !macroend
  288.  
  289. !macro MUI_ENDHEADER
  290.  
  291.   IfAbort mui.endheader_abort
  292.  
  293.     !ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT & MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
  294.       !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
  295.     !else ifdef MUI_INSTFILESPAGE_FINISHHEADER_TEXT
  296.       !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_FINISHHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
  297.     !else ifdef MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
  298.       !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "${MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT}"
  299.     !else
  300.       !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_SUBTITLE)"
  301.     !endif
  302.  
  303.   Goto mui.endheader_done
  304.  
  305.   mui.endheader_abort:
  306.  
  307.     !ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT & MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
  308.       !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
  309.     !else ifdef MUI_INSTFILESPAGE_ABORTHEADER_TEXT
  310.       !insertmacro MUI_HEADER_TEXT "${MUI_INSTFILESPAGE_ABORTHEADER_TEXT}" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
  311.     !else ifdef MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT
  312.       !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "${MUI_INSTFILESPAGE_ABORTHEADER_SUBTEXT}"
  313.     !else
  314.       !insertmacro MUI_HEADER_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_TITLE)" "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_ABORT_SUBTITLE)"
  315.     !endif
  316.  
  317.   mui.endheader_done:
  318.  
  319. !macroend
  320.  
  321. !macro MUI_ABORTWARNING
  322.  
  323.   !ifdef MUI_FINISHPAGE_ABORTWARNINGCHECK
  324.     StrCmp $MUI_NOABORTWARNING "1" mui.quit
  325.   !endif
  326.  
  327.   !ifdef MUI_ABORTWARNING_CANCEL_DEFAULT
  328.     MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_ABORTWARNING_TEXT}" IDYES mui.quit
  329.   !else
  330.     MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_ABORTWARNING_TEXT}" IDYES mui.quit
  331.   !endif
  332.  
  333.   Abort
  334.   mui.quit:
  335.  
  336. !macroend
  337.  
  338. !macro MUI_UNABORTWARNING
  339.  
  340.   !ifdef MUI_UNABORTWARNING_CANCEL_DEFAULT
  341.     MessageBox MB_YESNO|MB_ICONEXCLAMATION|MB_DEFBUTTON2 "${MUI_UNABORTWARNING_TEXT}" IDYES mui.quit
  342.   !else
  343.     MessageBox MB_YESNO|MB_ICONEXCLAMATION "${MUI_UNABORTWARNING_TEXT}" IDYES mui.quit
  344.   !endif
  345.  
  346.   Abort
  347.   mui.quit:
  348.  
  349. !macroend
  350.  
  351. !macro MUI_GUIINIT
  352.  
  353.   !insertmacro MUI_WELCOMEFINISHPAGE_INIT ""
  354.   !insertmacro MUI_HEADERIMAGE_INIT ""
  355.  
  356.   !insertmacro MUI_GUIINIT_BASIC
  357.  
  358. !macroend
  359.  
  360. !macro MUI_UNGUIINIT
  361.  
  362.   !insertmacro MUI_WELCOMEFINISHPAGE_INIT "UN"
  363.   !insertmacro MUI_HEADERIMAGE_INIT "UN"
  364.  
  365.   !insertmacro MUI_GUIINIT_BASIC
  366.  
  367.   !ifdef MUI_UNFINISHPAGE
  368.     !ifndef MUI_UNFINISHPAGE_NOAUTOCLOSE
  369.       SetAutoClose true
  370.     !endif
  371.   !endif
  372.  
  373. !macroend
  374.  
  375. !macro MUI_GUIINIT_BASIC
  376.  
  377.   GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
  378.   CreateFont $MUI_TEMP2 "$(^Font)" "$(^FontSize)" "700"
  379.   SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
  380.  
  381.   !ifndef MUI_HEADER_TRANSPARENT_TEXT
  382.  
  383.     SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  384.  
  385.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
  386.     SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  387.  
  388.   !else
  389.  
  390.     SetCtlColors $MUI_TEMP1 "" "transparent"
  391.  
  392.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
  393.     SetCtlColors $MUI_TEMP1 "" "transparent"
  394.  
  395.   !endif
  396.  
  397.   GetDlgItem $MUI_TEMP1 $HWNDPARENT 1034
  398.   SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  399.  
  400.   GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
  401.   SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  402.  
  403.   GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
  404.   SetCtlColors $MUI_TEMP1 /BRANDING
  405.   GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
  406.   SetCtlColors $MUI_TEMP1 /BRANDING
  407.   SendMessage $MUI_TEMP1 ${WM_SETTEXT} 0 "STR:$(^Branding) "
  408.  
  409. !macroend
  410.  
  411. !macro MUI_WELCOMEFINISHPAGE_INIT UNINSTALLER
  412.  
  413.   !ifdef MUI_${UNINSTALLER}WELCOMEPAGE | MUI_${UNINSTALLER}FINISHPAGE
  414.  
  415.     !insertmacro MUI_INSTALLOPTIONS_EXTRACT_AS "${MUI_${UNINSTALLER}WELCOMEFINISHPAGE_INI}" "ioSpecial.ini"
  416.     File "/oname=$PLUGINSDIR\modern-wizard.bmp" "${MUI_${UNINSTALLER}WELCOMEFINISHPAGE_BITMAP}"
  417.  
  418.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Text" "$PLUGINSDIR\modern-wizard.bmp"
  419.  
  420.     !ifdef MUI_${UNINSTALLER}WELCOMEFINISHPAGE_BITMAP_NOSTRETCH
  421.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 1" "Flags" ""
  422.     !endif
  423.  
  424.   !endif
  425.  
  426. !macroend
  427.  
  428. !macro MUI_HEADERIMAGE_INIT UNINSTALLER
  429.  
  430.   !ifdef MUI_HEADERIMAGE
  431.  
  432.     InitPluginsDir
  433.  
  434.     !ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
  435.  
  436.     StrCmp $(^RTL) 0 mui.headerimageinit_nortl
  437.  
  438.         File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL}"
  439.  
  440.         !ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL_NOSTRETCH
  441.           SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
  442.         !else
  443.           SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
  444.         !endif
  445.  
  446.         Goto mui.headerimageinit_done
  447.  
  448.       mui.headerimageinit_nortl:
  449.  
  450.     !endif
  451.  
  452.         File "/oname=$PLUGINSDIR\modern-header.bmp" "${MUI_HEADERIMAGE_${UNINSTALLER}BITMAP}"
  453.  
  454.         !ifndef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_NOSTRETCH
  455.           SetBrandingImage /IMGID=1046 /RESIZETOFIT "$PLUGINSDIR\modern-header.bmp"
  456.         !else
  457.           SetBrandingImage /IMGID=1046 "$PLUGINSDIR\modern-header.bmp"
  458.         !endif
  459.  
  460.     !ifdef MUI_HEADERIMAGE_${UNINSTALLER}BITMAP_RTL
  461.  
  462.     mui.headerimageinit_done:
  463.  
  464.     !endif
  465.  
  466.   !endif
  467.  
  468. !macroend
  469.  
  470. ;--------------------------------
  471. ;INTERFACE - FUNCTIONS
  472.  
  473. !macro MUI_FUNCTION_GUIINIT
  474.  
  475.   Function .onGUIInit
  476.  
  477.     !insertmacro MUI_GUIINIT
  478.  
  479.     !ifdef MUI_CUSTOMFUNCTION_GUIINIT
  480.       Call "${MUI_CUSTOMFUNCTION_GUIINIT}"
  481.     !endif
  482.  
  483.   FunctionEnd
  484.  
  485. !macroend
  486.  
  487. !macro MUI_FUNCTION_DESCRIPTION_BEGIN
  488.  
  489.   !verbose push
  490.   !verbose ${MUI_VERBOSE}
  491.  
  492.   !ifndef MUI_VAR_TEXT
  493.     Var /GLOBAL MUI_TEXT
  494.     !define MUI_VAR_TEXT
  495.   !endif
  496.  
  497.   Function .onMouseOverSection
  498.     !insertmacro MUI_DESCRIPTION_BEGIN
  499.  
  500.   !verbose pop
  501.  
  502. !macroend
  503.  
  504. !macro MUI_FUNCTION_DESCRIPTION_END
  505.  
  506.   !verbose push
  507.   !verbose ${MUI_VERBOSE}
  508.  
  509.     !insertmacro MUI_DESCRIPTION_END
  510.   FunctionEnd
  511.  
  512.   !verbose pop
  513.  
  514. !macroend
  515.  
  516. !macro MUI_UNFUNCTION_DESCRIPTION_BEGIN
  517.  
  518.   !verbose push
  519.   !verbose ${MUI_VERBOSE}
  520.  
  521.   Function un.onMouseOverSection
  522.     !insertmacro MUI_DESCRIPTION_BEGIN
  523.  
  524.   !verbose pop
  525.  
  526. !macroend
  527.  
  528. !macro MUI_UNFUNCTION_DESCRIPTION_END
  529.  
  530.   !verbose push
  531.   !verbose ${MUI_VERBOSE}
  532.  
  533.     !insertmacro MUI_DESCRIPTION_END
  534.   FunctionEnd
  535.  
  536.   !verbose pop
  537.  
  538. !macroend
  539.  
  540. !macro MUI_FUNCTION_ABORTWARNING
  541.  
  542.   Function .onUserAbort
  543.     !ifdef MUI_ABORTWARNING
  544.       !insertmacro MUI_ABORTWARNING
  545.     !endif
  546.     !ifdef MUI_CUSTOMFUNCTION_ABORT
  547.       Call "${MUI_CUSTOMFUNCTION_ABORT}"
  548.     !endif
  549.   FunctionEnd
  550.  
  551. !macroend
  552.  
  553. !macro MUI_FUNCTION_UNABORTWARNING
  554.  
  555.   Function un.onUserAbort
  556.     !ifdef MUI_UNABORTWARNING
  557.       !insertmacro MUI_UNABORTWARNING
  558.     !endif
  559.     !ifdef MUI_CUSTOMFUNCTION_UNABORT
  560.       Call "${MUI_CUSTOMFUNCTION_UNABORT}"
  561.     !endif
  562.   FunctionEnd
  563.  
  564. !macroend
  565.  
  566. !macro MUI_UNFUNCTION_GUIINIT
  567.  
  568.   Function un.onGUIInit
  569.  
  570.   !insertmacro MUI_UNGUIINIT
  571.  
  572.   !ifdef MUI_CUSTOMFUNCTION_UNGUIINIT
  573.     Call "${MUI_CUSTOMFUNCTION_UNGUIINIT}"
  574.   !endif
  575.  
  576.   FunctionEnd
  577.  
  578. !macroend
  579.  
  580. !macro MUI_FUNCTIONS_DESCRIPTION_BEGIN
  581.  
  582.   ;1.65 compatibility
  583.  
  584.   !warning "Modern UI macro name has changed. Please change MUI_FUNCTIONS_DESCRIPTION_BEGIN to MUI_FUNCTION_DESCRIPTION_BEGIN."
  585.  
  586.   !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
  587.  
  588. !macroend
  589.  
  590. !macro MUI_FUNCTIONS_DESCRIPTION_END
  591.  
  592.   ;1.65 compatibility
  593.  
  594.   !warning "Modern UI macro name has changed. Please change MUI_FUNCTIONS_DESCRIPTION_END to MUI_FUNCTION_DESCRIPTION_END."
  595.  
  596.   !insertmacro MUI_FUNCTION_DESCRIPTION_END
  597.  
  598. !macroend
  599.  
  600. ;--------------------------------
  601. ;START MENU FOLDER
  602.  
  603. !macro MUI_STARTMENU_GETFOLDER ID VAR
  604.  
  605.   !ifdef MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME
  606.  
  607.     ReadRegStr $MUI_TEMP1 "${MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME}"
  608.       StrCmp $MUI_TEMP1 "" +3
  609.         StrCpy "${VAR}" $MUI_TEMP1
  610.         Goto +2
  611.  
  612.         StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
  613.  
  614.    !else
  615.  
  616.      StrCpy "${VAR}" "${MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER}"
  617.  
  618.    !endif
  619.  
  620. !macroend
  621.  
  622. !macro MUI_STARTMENU_WRITE_BEGIN ID
  623.  
  624.   !verbose push
  625.   !verbose ${MUI_VERBOSE}
  626.  
  627.   !define MUI_STARTMENUPAGE_CURRENT_ID "${ID}"
  628.  
  629.   StrCpy $MUI_TEMP1 "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" 1
  630.   StrCmp $MUI_TEMP1 ">" mui.startmenu_write_${MUI_STARTMENUPAGE_CURRENT_ID}_done
  631.  
  632.   StrCmp "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}" "" 0 mui.startmenu_writebegin_${MUI_STARTMENUPAGE_CURRENT_ID}_notempty
  633.  
  634.     !insertmacro MUI_STARTMENU_GETFOLDER "${MUI_STARTMENUPAGE_CURRENT_ID}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
  635.  
  636.   mui.startmenu_writebegin_${MUI_STARTMENUPAGE_CURRENT_ID}_notempty:
  637.  
  638.   !verbose pop
  639.  
  640. !macroend
  641.  
  642. !macro MUI_STARTMENU_WRITE_END
  643.  
  644.   !verbose push
  645.   !verbose ${MUI_VERBOSE}
  646.  
  647.   !ifdef MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY & MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME
  648.     WriteRegStr "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_REGISTRY_VALUENAME}" "${MUI_STARTMENUPAGE_${MUI_STARTMENUPAGE_CURRENT_ID}_VARIABLE}"
  649.   !endif
  650.  
  651.   mui.startmenu_write_${MUI_STARTMENUPAGE_CURRENT_ID}_done:
  652.  
  653.   !undef MUI_STARTMENUPAGE_CURRENT_ID
  654.  
  655.   !verbose pop
  656.  
  657. !macroend
  658.  
  659. ;--------------------------------
  660. ;PAGES
  661.  
  662. !macro MUI_PAGE_INIT
  663.  
  664.   !ifndef MUI_INSERT_INTERFACE
  665.     !insertmacro MUI_INTERFACE
  666.     !define MUI_INSERT_INTERFACE
  667.   !endif
  668.  
  669.   !insertmacro MUI_DEFAULT MUI_PAGE_UNINSTALLER_PREFIX ""
  670.   !insertmacro MUI_DEFAULT MUI_PAGE_UNINSTALLER_FUNCPREFIX ""
  671.  
  672.   !insertmacro MUI_UNSET MUI_UNIQUEID
  673.  
  674.   !define MUI_UNIQUEID ${__LINE__}
  675.  
  676. !macroend
  677.  
  678. !macro MUI_UNPAGE_INIT
  679.  
  680.   !ifndef MUI_UNINSTALLER
  681.     !define MUI_UNINSTALLER
  682.   !endif
  683.  
  684.   !define MUI_PAGE_UNINSTALLER
  685.  
  686.   !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_PREFIX
  687.   !insertmacro MUI_UNSET MUI_PAGE_UNINSTALLER_FUNCPREFIX
  688.  
  689.   !define MUI_PAGE_UNINSTALLER_PREFIX "UN"
  690.   !define MUI_PAGE_UNINSTALLER_FUNCPREFIX "un."
  691.  
  692. !macroend
  693.  
  694. !macro MUI_UNPAGE_END
  695.  
  696.   !undef MUI_PAGE_UNINSTALLER
  697.   !undef MUI_PAGE_UNINSTALLER_PREFIX
  698.   !undef MUI_PAGE_UNINSTALLER_FUNCPREFIX
  699.  
  700. !macroend
  701.  
  702. !macro MUI_PAGE_WELCOME
  703.  
  704.   !verbose push
  705.   !verbose ${MUI_VERBOSE}
  706.  
  707.   !insertmacro MUI_PAGE_INIT
  708.  
  709.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}WELCOMEPAGE
  710.  
  711.   !insertmacro MUI_DEFAULT MUI_WELCOMEPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TITLE)"
  712.   !insertmacro MUI_DEFAULT MUI_WELCOMEPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_WELCOME_INFO_TEXT)"
  713.  
  714.   !ifndef MUI_VAR_HWND
  715.     Var /GLOBAL MUI_HWND
  716.     !define MUI_VAR_HWND
  717.   !endif
  718.  
  719.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
  720.  
  721.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
  722.  
  723.   PageExEnd
  724.  
  725.   !insertmacro MUI_FUNCTION_WELCOMEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.WelcomeLeave_${MUI_UNIQUEID}
  726.  
  727.   !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE
  728.   !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TITLE_3LINES
  729.   !insertmacro MUI_UNSET MUI_WELCOMEPAGE_TEXT
  730.  
  731.   !verbose pop
  732.  
  733. !macroend
  734.  
  735. !macro MUI_PAGE_LICENSE LICENSEDATA
  736.  
  737.   !verbose push
  738.   !verbose ${MUI_VERBOSE}
  739.  
  740.   !insertmacro MUI_PAGE_INIT
  741.  
  742.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}LICENSEPAGE
  743.  
  744.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_TEXT_TOP "$(MUI_INNERTEXT_LICENSE_TOP)"
  745.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_BUTTON ""
  746.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_CHECKBOX_TEXT ""
  747.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT ""
  748.   !insertmacro MUI_DEFAULT MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE ""
  749.  
  750.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}license
  751.  
  752.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
  753.  
  754.     Caption " "
  755.  
  756.     LicenseData "${LICENSEDATA}"
  757.  
  758.     !ifndef MUI_LICENSEPAGE_TEXT_BOTTOM
  759.       !ifndef MUI_LICENSEPAGE_CHECKBOX & MUI_LICENSEPAGE_RADIOBUTTONS
  760.         LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM)" "${MUI_LICENSEPAGE_BUTTON}"
  761.       !else ifdef MUI_LICENSEPAGE_CHECKBOX
  762.         LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_CHECKBOX)" "${MUI_LICENSEPAGE_BUTTON}"
  763.       !else
  764.         LicenseText "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS)" "${MUI_LICENSEPAGE_BUTTON}"
  765.       !endif
  766.     !else
  767.       LicenseText "${MUI_LICENSEPAGE_TEXT_BOTTOM}" "${MUI_LICENSEPAGE_BUTTON}"
  768.     !endif
  769.  
  770.     !ifdef MUI_LICENSEPAGE_CHECKBOX
  771.       LicenseForceSelection checkbox "${MUI_LICENSEPAGE_CHECKBOX_TEXT}"
  772.     !else ifdef MUI_LICENSEPAGE_RADIOBUTTONS
  773.       LicenseForceSelection radiobuttons "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_ACCEPT}" "${MUI_LICENSEPAGE_RADIOBUTTONS_TEXT_DECLINE}"
  774.     !endif
  775.  
  776.   PageExEnd
  777.  
  778.   !insertmacro MUI_FUNCTION_LICENSEPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicensePre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.LicenseLeave_${MUI_UNIQUEID}
  779.  
  780.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_TOP
  781.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_TEXT_BOTTOM
  782.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_BUTTON
  783.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX
  784.     !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT
  785.   !insertmacro MUI_UNSET MUI_LICENSEPAGE_RADIOBUTTONS
  786.     !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_ACCEPT
  787.     !insertmacro MUI_UNSET MUI_LICENSEPAGE_CHECKBOX_TEXT_DECLINE
  788.  
  789.   !verbose pop
  790.  
  791. !macroend
  792.  
  793. !macro MUI_PAGE_COMPONENTS
  794.  
  795.   !verbose push
  796.   !verbose ${MUI_VERBOSE}
  797.  
  798.   !insertmacro MUI_PAGE_INIT
  799.  
  800.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}COMPONENTSPAGE
  801.  
  802.   !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_TOP ""
  803.   !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_COMPLIST ""
  804.   !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_INSTTYPE ""
  805.   !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE)"
  806.   !insertmacro MUI_DEFAULT MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO "$(MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO)"
  807.  
  808.   !ifndef MUI_VAR_TEXT
  809.     Var /GLOBAL MUI_TEXT
  810.     !define MUI_VAR_TEXT
  811.   !endif
  812.  
  813.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}components
  814.  
  815.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}
  816.  
  817.     Caption " "
  818.  
  819.     ComponentText "${MUI_COMPONENTSPAGE_TEXT_TOP}" "${MUI_COMPONENTSPAGE_TEXT_INSTTYPE}" "${MUI_COMPONENTSPAGE_TEXT_COMPLIST}"
  820.  
  821.   PageExEnd
  822.  
  823.   !insertmacro MUI_FUNCTION_COMPONENTSPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.ComponentsLeave_${MUI_UNIQUEID}
  824.  
  825.   !undef MUI_COMPONENTSPAGE_TEXT_TOP
  826.   !undef MUI_COMPONENTSPAGE_TEXT_COMPLIST
  827.   !undef MUI_COMPONENTSPAGE_TEXT_INSTTYPE
  828.   !insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE
  829.   !insertmacro MUI_UNSET MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO
  830.  
  831.   !verbose pop
  832.  
  833. !macroend
  834.  
  835. !macro MUI_PAGE_DIRECTORY
  836.  
  837.   !verbose push
  838.   !verbose ${MUI_VERBOSE}
  839.  
  840.   !insertmacro MUI_PAGE_INIT
  841.  
  842.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}DIRECTORYPAGE
  843.  
  844.   !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_TOP ""
  845.   !insertmacro MUI_DEFAULT MUI_DIRECTORYPAGE_TEXT_DESTINATION ""
  846.  
  847.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}directory
  848.  
  849.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
  850.  
  851.     Caption " "
  852.  
  853.     DirText "${MUI_DIRECTORYPAGE_TEXT_TOP}" "${MUI_DIRECTORYPAGE_TEXT_DESTINATION}"
  854.  
  855.     !ifdef MUI_DIRECTORYPAGE_VARIABLE
  856.       DirVar "${MUI_DIRECTORYPAGE_VARIABLE}"
  857.     !endif
  858.  
  859.     !ifdef MUI_DIRECTORYPAGE_VERIFYONLEAVE
  860.       DirVerify leave
  861.     !endif
  862.  
  863.   PageExEnd
  864.  
  865.   !insertmacro MUI_FUNCTION_DIRECTORYPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.DirectoryLeave_${MUI_UNIQUEID}
  866.  
  867.   !undef MUI_DIRECTORYPAGE_TEXT_TOP
  868.   !undef MUI_DIRECTORYPAGE_TEXT_DESTINATION
  869.   !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_BGCOLOR
  870.   !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VARIABLE
  871.   !insertmacro MUI_UNSET MUI_DIRECTORYPAGE_VERIFYONLEAVE
  872.  
  873.   !verbose pop
  874.  
  875. !macroend
  876.  
  877. !macro MUI_PAGE_STARTMENU ID VAR
  878.  
  879.   !verbose push
  880.   !verbose ${MUI_VERBOSE}
  881.  
  882.   !insertmacro MUI_PAGE_INIT
  883.  
  884.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}STARTMENUPAGE
  885.  
  886.   !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_DEFAULTFOLDER "$(^Name)"
  887.   !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_TOP "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_TOP)"
  888.   !insertmacro MUI_DEFAULT MUI_STARTMENUPAGE_TEXT_CHECKBOX "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INNERTEXT_STARTMENU_CHECKBOX)"
  889.  
  890.   !define MUI_STARTMENUPAGE_VARIABLE "${VAR}"
  891.   !define "MUI_STARTMENUPAGE_${ID}_VARIABLE" "${MUI_STARTMENUPAGE_VARIABLE}"
  892.   !define "MUI_STARTMENUPAGE_${ID}_DEFAULTFOLDER" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
  893.   !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT
  894.     !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_ROOT" "${MUI_STARTMENUPAGE_REGISTRY_ROOT}"
  895.   !endif
  896.   !ifdef MUI_STARTMENUPAGE_REGISTRY_KEY
  897.     !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_KEY" "${MUI_STARTMENUPAGE_REGISTRY_KEY}"
  898.   !endif
  899.   !ifdef MUI_STARTMENUPAGE_REGISTRY_VALUENAME
  900.     !define "MUI_STARTMENUPAGE_${ID}_REGISTRY_VALUENAME" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
  901.   !endif
  902.  
  903.   !ifndef MUI_VAR_HWND
  904.     Var /GLOBAL MUI_HWND
  905.     !define MUI_VAR_HWND
  906.   !endif
  907.  
  908.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
  909.  
  910.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}
  911.  
  912.     Caption " "
  913.  
  914.   PageExEnd
  915.  
  916.   !insertmacro MUI_FUNCTION_STARTMENUPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.StartmenuLeave_${MUI_UNIQUEID}
  917.  
  918.   !undef MUI_STARTMENUPAGE_VARIABLE
  919.   !undef MUI_STARTMENUPAGE_TEXT_TOP
  920.   !undef MUI_STARTMENUPAGE_TEXT_CHECKBOX
  921.   !undef MUI_STARTMENUPAGE_DEFAULTFOLDER
  922.   !insertmacro MUI_UNSET MUI_STARTMENUPAGE_NODISABLE
  923.   !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_ROOT
  924.   !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_KEY
  925.   !insertmacro MUI_UNSET MUI_STARTMENUPAGE_REGISTRY_VALUENAME
  926.   !insertmacro MUI_UNSET MUI_STARTMENUPAGE_BGCOLOR
  927.  
  928.   !verbose pop
  929.  
  930. !macroend
  931.  
  932. !macro MUI_PAGE_INSTFILES
  933.  
  934.   !verbose push
  935.   !verbose ${MUI_VERBOSE}
  936.  
  937.   !insertmacro MUI_PAGE_INIT
  938.  
  939.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}INSTFILESPAGE
  940.  
  941.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}instfiles
  942.  
  943.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
  944.  
  945.     Caption " "
  946.  
  947.   PageExEnd
  948.  
  949.   !insertmacro MUI_FUNCTION_INSTFILESPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesShow_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.InstFilesLeave_${MUI_UNIQUEID}
  950.  
  951.   !insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_TEXT
  952.   !insertmacro MUI_UNSET MUI_INSTFILESPAGE_FINISHHEADER_SUBTEXT
  953.   !insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_TEXT
  954.   !insertmacro MUI_UNSET MUI_INSTFILESPAGE_ABORTWARNING_SUBTEXT
  955.  
  956.   !verbose pop
  957.  
  958. !macroend
  959.  
  960. !macro MUI_PAGE_FINISH
  961.  
  962.   !verbose push
  963.   !verbose ${MUI_VERBOSE}
  964.  
  965.   !insertmacro MUI_PAGE_INIT
  966.  
  967.   !insertmacro MUI_SET MUI_${MUI_PAGE_UNINSTALLER_PREFIX}FINISHPAGE
  968.  
  969.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TITLE "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TITLE)"
  970.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_TEXT)"
  971.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_BUTTON "$(MUI_BUTTONTEXT_FINISH)"
  972.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOT "$(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_FINISH_INFO_REBOOT)"
  973.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTNOW "$(MUI_TEXT_FINISH_REBOOTNOW)"
  974.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_TEXT_REBOOTLATER "$(MUI_TEXT_FINISH_REBOOTLATER)"
  975.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_RUN_TEXT "$(MUI_TEXT_FINISH_RUN)"
  976.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_SHOWREADME_TEXT "$(MUI_TEXT_FINISH_SHOWREADME)"
  977.   !insertmacro MUI_DEFAULT MUI_FINISHPAGE_LINK_COLOR "000080"
  978.  
  979.   !ifndef MUI_VAR_HWND
  980.     Var /GLOBAL MUI_HWND
  981.     !define MUI_VAR_HWND
  982.   !endif
  983.  
  984.   !ifndef MUI_PAGE_UNINSTALLER
  985.     !ifndef MUI_FINISHPAGE_NOAUTOCLOSE
  986.       AutoCloseWindow true
  987.     !endif
  988.   !endif
  989.  
  990.   !ifdef MUI_FINISHPAGE_CANCEL_ENABLED
  991.     !define MUI_FINISHPAGE_ABORTWARNINGCHECK
  992.     !ifndef MUI_VAR_NOABORTWARNING
  993.       !define MUI_VAR_NOABORTWARNING
  994.       Var /GLOBAL MUI_NOABORTWARNING
  995.     !endif
  996.   !endif
  997.  
  998.   PageEx ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}custom
  999.  
  1000.     PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishLeave_${MUI_UNIQUEID}
  1001.  
  1002.     Caption " "
  1003.  
  1004.   PageExEnd
  1005.  
  1006.   !insertmacro MUI_FUNCTION_FINISHPAGE ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishPre_${MUI_UNIQUEID} ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}mui.FinishLeave_${MUI_UNIQUEID}
  1007.  
  1008.   !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE
  1009.   !insertmacro MUI_UNSET MUI_FINISHPAGE_TITLE_3LINES
  1010.   !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT
  1011.   !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_LARGE
  1012.   !insertmacro MUI_UNSET MUI_FINISHPAGE_BUTTON
  1013.   !insertmacro MUI_UNSET MUI_FINISHPAGE_CANCEL_ENABLED
  1014.   !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOT
  1015.   !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTNOW
  1016.   !insertmacro MUI_UNSET MUI_FINISHPAGE_TEXT_REBOOTLATER
  1017.   !insertmacro MUI_UNSET MUI_FINISHPAGE_REBOOTLATER_DEFAULT
  1018.   !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN
  1019.     !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_TEXT
  1020.     !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_PARAMETERS
  1021.     !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_NOTCHECKED
  1022.     !insertmacro MUI_UNSET MUI_FINISHPAGE_RUN_FUNCTION
  1023.   !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME
  1024.     !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_TEXT
  1025.     !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
  1026.     !insertmacro MUI_UNSET MUI_FINISHPAGE_SHOWREADME_FUNCTION
  1027.   !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK
  1028.     !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_LOCATION
  1029.     !insertmacro MUI_UNSET MUI_FINISHPAGE_LINK_COLOR
  1030.   !insertmacro MUI_UNSET MUI_FINISHPAGE_NOREBOOTSUPPORT
  1031.  
  1032.   !insertmacro MUI_UNSET MUI_FINISHPAGE_ABORTWARNINGCHECK
  1033.   !insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_TOP
  1034.   !insertmacro MUI_UNSET MUI_FINISHPAGE_CURFIELD_BOTTOM
  1035.  
  1036.   !verbose pop
  1037.  
  1038. !macroend
  1039.  
  1040. !macro MUI_UNPAGE_WELCOME
  1041.  
  1042.   !verbose push
  1043.   !verbose ${MUI_VERBOSE}
  1044.  
  1045.   !insertmacro MUI_UNPAGE_INIT
  1046.  
  1047.     !insertmacro MUI_PAGE_WELCOME
  1048.  
  1049.   !insertmacro MUI_UNPAGE_END
  1050.  
  1051.   !verbose pop
  1052.  
  1053. !macroend
  1054.  
  1055. !macro MUI_UNPAGE_CONFIRM
  1056.  
  1057.   !verbose push
  1058.   !verbose ${MUI_VERBOSE}
  1059.  
  1060.   !ifndef MUI_UNINSTALLER
  1061.     !define MUI_UNINSTALLER
  1062.   !endif
  1063.  
  1064.   !insertmacro MUI_PAGE_INIT
  1065.  
  1066.   !insertmacro MUI_SET MUI_UNCONFIRMPAGE
  1067.  
  1068.   !insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_TOP ""
  1069.   !insertmacro MUI_DEFAULT MUI_UNCONFIRMPAGE_TEXT_LOCATION ""
  1070.  
  1071.   PageEx un.uninstConfirm
  1072.  
  1073.     PageCallbacks un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}
  1074.  
  1075.     Caption " "
  1076.  
  1077.     UninstallText "${MUI_UNCONFIRMPAGE_TEXT_TOP}" "${MUI_UNCONFIRMPAGE_TEXT_LOCATION}"
  1078.  
  1079.   PageExEnd
  1080.  
  1081.   !insertmacro MUI_UNFUNCTION_CONFIRMPAGE un.mui.ConfirmPre_${MUI_UNIQUEID} un.mui.ConfirmShow_${MUI_UNIQUEID} un.mui.ConfirmLeave_${MUI_UNIQUEID}
  1082.  
  1083.   !insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_TOP
  1084.   !insertmacro MUI_UNSET MUI_UNCONFIRMPAGE_TEXT_LOCATION
  1085.  
  1086.   !verbose pop
  1087.  
  1088. !macroend
  1089.  
  1090. !macro MUI_UNPAGE_LICENSE LICENSEDATA
  1091.  
  1092.   !verbose push
  1093.   !verbose ${MUI_VERBOSE}
  1094.  
  1095.   !insertmacro MUI_UNPAGE_INIT
  1096.  
  1097.     !insertmacro MUI_PAGE_LICENSE "${LICENSEDATA}"
  1098.  
  1099.   !insertmacro MUI_UNPAGE_END
  1100.  
  1101.   !verbose pop
  1102.  
  1103. !macroend
  1104.  
  1105. !macro MUI_UNPAGE_COMPONENTS
  1106.  
  1107.   !verbose push
  1108.   !verbose ${MUI_VERBOSE}
  1109.  
  1110.   !insertmacro MUI_UNPAGE_INIT
  1111.  
  1112.     !insertmacro MUI_PAGE_COMPONENTS
  1113.  
  1114.   !insertmacro MUI_UNPAGE_END
  1115.  
  1116.   !verbose pop
  1117.  
  1118. !macroend
  1119.  
  1120. !macro MUI_UNPAGE_DIRECTORY
  1121.  
  1122.   !verbose push
  1123.   !verbose ${MUI_VERBOSE}
  1124.  
  1125.   !insertmacro MUI_UNPAGE_INIT
  1126.  
  1127.     !insertmacro MUI_PAGE_DIRECTORY
  1128.  
  1129.   !insertmacro MUI_UNPAGE_END
  1130.  
  1131.   !verbose pop
  1132.  
  1133. !macroend
  1134.  
  1135. !macro MUI_UNPAGE_INSTFILES
  1136.  
  1137.   !verbose push
  1138.   !verbose ${MUI_VERBOSE}
  1139.  
  1140.   !insertmacro MUI_UNPAGE_INIT
  1141.  
  1142.     !insertmacro MUI_PAGE_INSTFILES
  1143.  
  1144.   !insertmacro MUI_UNPAGE_END
  1145.  
  1146.   !verbose pop
  1147.  
  1148. !macroend
  1149.  
  1150. !macro MUI_UNPAGE_FINISH
  1151.  
  1152.   !verbose push
  1153.   !verbose ${MUI_VERBOSE}
  1154.  
  1155.   !insertmacro MUI_UNPAGE_INIT
  1156.  
  1157.     !insertmacro MUI_PAGE_FINISH
  1158.  
  1159.   !insertmacro MUI_UNPAGE_END
  1160.  
  1161.   !verbose pop
  1162.  
  1163. !macroend
  1164.  
  1165. ;--------------------------------
  1166. ;PAGE FUNCTIONS
  1167.  
  1168. !macro MUI_PAGE_FUNCTION_CUSTOM TYPE
  1169.  
  1170.   !ifdef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
  1171.     Call "${MUI_PAGE_CUSTOMFUNCTION_${TYPE}}"
  1172.     !undef MUI_PAGE_CUSTOMFUNCTION_${TYPE}
  1173.   !endif
  1174.  
  1175. !macroend
  1176.  
  1177. !macro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM
  1178.  
  1179.   !ifdef MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT
  1180.     Call "${MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT}"
  1181.     !undef MUI_WELCOMEFINISHPAGE_CUSTOMFUNCTION_INIT
  1182.   !endif
  1183.  
  1184. !macroend
  1185.  
  1186. !macro MUI_FUNCTION_WELCOMEPAGE PRE LEAVE
  1187.  
  1188.   Function "${PRE}"
  1189.  
  1190.     !insertmacro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM
  1191.  
  1192.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "NumFields" "3"
  1193.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "NextButtonText" ""
  1194.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "CancelEnabled" ""
  1195.  
  1196.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Text" "${MUI_WELCOMEPAGE_TITLE}"
  1197.  
  1198.     !ifndef MUI_WELCOMEPAGE_TITLE_3LINES
  1199.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "38"
  1200.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "45"
  1201.     !else
  1202.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "48"
  1203.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "55"
  1204.     !endif
  1205.  
  1206.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "185"
  1207.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Text" "${MUI_WELCOMEPAGE_TEXT}"
  1208.  
  1209.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  1210.  
  1211.     LockWindow on
  1212.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
  1213.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1214.  
  1215.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
  1216.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1217.  
  1218.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
  1219.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1220.  
  1221.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
  1222.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1223.  
  1224.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
  1225.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1226.  
  1227.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
  1228.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1229.  
  1230.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
  1231.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1232.     LockWindow off
  1233.  
  1234.     !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
  1235.     Pop $MUI_HWND
  1236.     SetCtlColors $MUI_HWND "" "${MUI_BGCOLOR}"
  1237.  
  1238.     GetDlgItem $MUI_TEMP1 $MUI_HWND 1201
  1239.     SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  1240.  
  1241.     CreateFont $MUI_TEMP2 "$(^Font)" "12" "700"
  1242.     SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
  1243.  
  1244.     GetDlgItem $MUI_TEMP1 $MUI_HWND 1202
  1245.     SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  1246.  
  1247.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  1248.  
  1249.     !insertmacro MUI_INSTALLOPTIONS_SHOW
  1250.  
  1251.     LockWindow on
  1252.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
  1253.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1254.  
  1255.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
  1256.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1257.  
  1258.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
  1259.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1260.  
  1261.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
  1262.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1263.  
  1264.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
  1265.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1266.  
  1267.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
  1268.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1269.  
  1270.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
  1271.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1272.     LockWindow off
  1273.  
  1274.   FunctionEnd
  1275.  
  1276.   Function "${LEAVE}"
  1277.  
  1278.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  1279.  
  1280.   FunctionEnd
  1281.  
  1282. !macroend
  1283.  
  1284. !macro MUI_FUNCTION_LICENSEPAGE PRE SHOW LEAVE
  1285.  
  1286.   Function "${PRE}"
  1287.  
  1288.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  1289.     !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_LICENSE_SUBTITLE)
  1290.  
  1291.   FunctionEnd
  1292.  
  1293.   Function "${SHOW}"
  1294.  
  1295.     !insertmacro MUI_INNERDIALOG_TEXT 1040 "${MUI_LICENSEPAGE_TEXT_TOP}"
  1296.     !undef MUI_LICENSEPAGE_TEXT_TOP
  1297.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  1298.  
  1299.   FunctionEnd
  1300.  
  1301.   Function "${LEAVE}"
  1302.  
  1303.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  1304.  
  1305.   FunctionEnd
  1306.  
  1307. !macroend
  1308.  
  1309. !macro MUI_FUNCTION_COMPONENTSPAGE PRE SHOW LEAVE
  1310.  
  1311.   Function "${PRE}"
  1312.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  1313.     !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_COMPONENTS_SUBTITLE)
  1314.   FunctionEnd
  1315.  
  1316.   Function "${SHOW}"
  1317.  
  1318.     !insertmacro MUI_INNERDIALOG_TEXT 1042 "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_TITLE}"
  1319.  
  1320.     FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
  1321.     GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1043
  1322.     EnableWindow $MUI_TEMP1 0
  1323.  
  1324.     !insertmacro MUI_INNERDIALOG_TEXT 1043 "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
  1325.     StrCpy $MUI_TEXT "${MUI_COMPONENTSPAGE_TEXT_DESCRIPTION_INFO}"
  1326.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  1327.  
  1328.   FunctionEnd
  1329.  
  1330.   Function "${LEAVE}"
  1331.  
  1332.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  1333.  
  1334.   FunctionEnd
  1335.  
  1336. !macroend
  1337.  
  1338. !macro MUI_FUNCTION_DIRECTORYPAGE PRE SHOW LEAVE
  1339.  
  1340.   Function "${PRE}"
  1341.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  1342.     !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_DIRECTORY_SUBTITLE)
  1343.   FunctionEnd
  1344.  
  1345.   Function "${SHOW}"
  1346.     !ifdef MUI_DIRECTORYPAGE_BGCOLOR
  1347.       FindWindow $MUI_TEMP1 "#32770" "" $HWNDPARENT
  1348.       GetDlgItem $MUI_TEMP1 $MUI_TEMP1 1019
  1349.       SetCtlColors $MUI_TEMP1 "" "0x${MUI_DIRECTORYPAGE_BGCOLOR}"
  1350.     !endif
  1351.     
  1352.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  1353.   FunctionEnd
  1354.  
  1355.   Function "${LEAVE}"
  1356.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  1357.   FunctionEnd
  1358.  
  1359. !macroend
  1360.  
  1361. !macro MUI_FUNCTION_STARTMENUPAGE PRE LEAVE
  1362.  
  1363.   Function "${PRE}"
  1364.  
  1365.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  1366.  
  1367.      !ifdef MUI_STARTMENUPAGE_REGISTRY_ROOT & MUI_STARTMENUPAGE_REGISTRY_KEY & MUI_STARTMENUPAGE_REGISTRY_VALUENAME
  1368.  
  1369.       StrCmp "${MUI_STARTMENUPAGE_VARIABLE}" "" 0 +4
  1370.  
  1371.       ReadRegStr $MUI_TEMP1 "${MUI_STARTMENUPAGE_REGISTRY_ROOT}" "${MUI_STARTMENUPAGE_REGISTRY_KEY}" "${MUI_STARTMENUPAGE_REGISTRY_VALUENAME}"
  1372.         StrCmp $MUI_TEMP1 "" +2
  1373.           StrCpy "${MUI_STARTMENUPAGE_VARIABLE}" $MUI_TEMP1
  1374.  
  1375.     !endif
  1376.  
  1377.     !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_TEXT_STARTMENU_TITLE) $(MUI_TEXT_STARTMENU_SUBTITLE)
  1378.  
  1379.     StrCmp $(^RTL) 0 mui.startmenu_nortl
  1380.       !ifndef MUI_STARTMENUPAGE_NODISABLE
  1381.         StartMenu::Init /NOUNLOAD /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
  1382.       !else
  1383.         StartMenu::Init /NOUNLOAD /rtl /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
  1384.       !endif
  1385.       Goto mui.startmenu_initdone
  1386.     mui.startmenu_nortl:
  1387.       !ifndef MUI_STARTMENUPAGE_NODISABLE
  1388.         StartMenu::Init /NOUNLOAD /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" /checknoshortcuts "${MUI_STARTMENUPAGE_TEXT_CHECKBOX}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
  1389.       !else
  1390.         StartMenu::Init /NOUNLOAD /noicon /autoadd /text "${MUI_STARTMENUPAGE_TEXT_TOP}" /lastused "${MUI_STARTMENUPAGE_VARIABLE}" "${MUI_STARTMENUPAGE_DEFAULTFOLDER}"
  1391.       !endif
  1392.     mui.startmenu_initdone:
  1393.  
  1394.   Pop $MUI_HWND
  1395.  
  1396.   !ifdef MUI_STARTMENUPAGE_BGCOLOR
  1397.     GetDlgItem $MUI_TEMP1 $MUI_HWND 1002
  1398.     SetCtlColors $MUI_TEMP1 "" "0x${MUI_STARTMENUPAGE_BGCOLOR}"
  1399.     GetDlgItem $MUI_TEMP1 $MUI_HWND 1004
  1400.     SetCtlColors $MUI_TEMP1 "" "0x${MUI_STARTMENUPAGE_BGCOLOR}"
  1401.   !endif
  1402.  
  1403.   !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  1404.  
  1405.   StartMenu::Show
  1406.  
  1407.     Pop $MUI_TEMP1
  1408.     StrCmp $MUI_TEMP1 "success" 0 +2
  1409.       Pop "${MUI_STARTMENUPAGE_VARIABLE}"
  1410.  
  1411.   FunctionEnd
  1412.  
  1413.   Function "${LEAVE}"
  1414.  
  1415.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  1416.  
  1417.   FunctionEnd
  1418.  
  1419. !macroend
  1420.  
  1421. !macro MUI_FUNCTION_INSTFILESPAGE PRE SHOW LEAVE
  1422.  
  1423.   Function "${PRE}"
  1424.  
  1425.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  1426.     !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_TITLE) $(MUI_${MUI_PAGE_UNINSTALLER_PREFIX}TEXT_${MUI_PAGE_UNINSTALLER_PREFIX}INSTALLING_SUBTITLE)
  1427.  
  1428.   FunctionEnd
  1429.  
  1430.   Function "${SHOW}"
  1431.  
  1432.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  1433.  
  1434.   FunctionEnd
  1435.  
  1436.   Function "${LEAVE}"
  1437.  
  1438.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  1439.  
  1440.     !insertmacro MUI_ENDHEADER
  1441.     !insertmacro MUI_LANGDLL_SAVELANGUAGE
  1442.  
  1443.   FunctionEnd
  1444.  
  1445. !macroend
  1446.  
  1447. !macro MUI_FUNCTION_FINISHPAGE PRE LEAVE
  1448.  
  1449.   Function "${PRE}"
  1450.  
  1451.     !insertmacro MUI_WELCOMEFINISHPAGE_FUNCTION_CUSTOM
  1452.  
  1453.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "NextButtonText" "${MUI_FINISHPAGE_BUTTON}"
  1454.  
  1455.     !ifdef MUI_FINISHPAGE_ABORTWARNINGCHECK
  1456.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "CancelEnabled" "1"
  1457.     !endif
  1458.  
  1459.     !ifndef MUI_FINISHPAGE_TITLE_3LINES
  1460.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "38"
  1461.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "45"
  1462.     !else
  1463.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Bottom" "48"
  1464.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Top" "55"
  1465.     !endif
  1466.  
  1467.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 2" "Text" "${MUI_FINISHPAGE_TITLE}"
  1468.  
  1469.     !ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
  1470.       !ifndef MUI_FINISHPAGE_TITLE_3LINES
  1471.         !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1472.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "85"
  1473.         !else
  1474.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "115"
  1475.         !endif
  1476.       !else
  1477.         !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1478.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "95"
  1479.         !else
  1480.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "125"
  1481.         !endif
  1482.       !endif
  1483.     !else
  1484.       !ifndef MUI_FINISHPAGE_LINK
  1485.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "185"
  1486.       !else
  1487.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "175"
  1488.       !endif
  1489.     !endif
  1490.  
  1491.     !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  1492.  
  1493.       IfRebootFlag 0 mui.finish_noreboot_init
  1494.  
  1495.         !ifndef MUI_FINISHPAGE_TITLE_3LINES
  1496.           !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1497.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "85"
  1498.           !else
  1499.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "115"
  1500.           !endif
  1501.         !else
  1502.           !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1503.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "95"
  1504.           !else
  1505.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Bottom" "125"
  1506.           !endif
  1507.         !endif
  1508.  
  1509.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Text" "${MUI_FINISHPAGE_TEXT_REBOOT}"
  1510.  
  1511.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
  1512.  
  1513.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" "RadioButton"
  1514.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Text" "${MUI_FINISHPAGE_TEXT_REBOOTNOW}"
  1515.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" "120"
  1516.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" "321"
  1517.         !ifndef MUI_FINISHPAGE_TITLE_3LINES
  1518.           !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1519.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "90"
  1520.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "100"
  1521.           !else
  1522.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "120"
  1523.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "130"
  1524.           !endif
  1525.         !else
  1526.           !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1527.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "100"
  1528.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "110"
  1529.           !else
  1530.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "130"
  1531.             !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "140"
  1532.           !endif
  1533.         !endif
  1534.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Type" "RadioButton"
  1535.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Text" "${MUI_FINISHPAGE_TEXT_REBOOTLATER}"
  1536.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Left" "120"
  1537.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Right" "321"
  1538.         !ifndef MUI_FINISHPAGE_TITLE_3LINES
  1539.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Top" "110"
  1540.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Bottom" "120"
  1541.         !else
  1542.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Top" "110"
  1543.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "Bottom" "120"
  1544.         !endif
  1545.         !ifdef MUI_FINISHPAGE_REBOOTLATER_DEFAULT
  1546.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 5" "State" "1"
  1547.         !else
  1548.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "1"
  1549.         !endif
  1550.  
  1551.         Goto mui.finish_load
  1552.  
  1553.       mui.finish_noreboot_init:
  1554.  
  1555.     !endif
  1556.  
  1557.     !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 3" "Text" "${MUI_FINISHPAGE_TEXT}"
  1558.  
  1559.     !ifdef MUI_FINISHPAGE_RUN
  1560.  
  1561.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Type" "CheckBox"
  1562.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Text" "${MUI_FINISHPAGE_RUN_TEXT}"
  1563.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Left" "120"
  1564.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Right" "315"
  1565.       !ifndef MUI_FINISHPAGE_TITLE_3LINES
  1566.         !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1567.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "90"
  1568.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "100"
  1569.         !else
  1570.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "120"
  1571.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "130"
  1572.         !endif
  1573.       !else
  1574.         !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1575.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "100"
  1576.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "110"
  1577.         !else
  1578.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Top" "130"
  1579.           !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "Bottom" "140"
  1580.         !endif
  1581.       !endif
  1582.       !ifndef MUI_FINISHPAGE_RUN_NOTCHECKED
  1583.         !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field 4" "State" "1"
  1584.       !endif
  1585.  
  1586.     !endif
  1587.  
  1588.     !ifdef MUI_FINISHPAGE_SHOWREADME
  1589.  
  1590.       !ifdef MUI_FINISHPAGE_CURFIELD_NO
  1591.         !undef MUI_FINISHPAGE_CURFIELD_NO
  1592.       !endif
  1593.  
  1594.       !ifndef MUI_FINISHPAGE_RUN
  1595.         !define MUI_FINISHPAGE_CURFIELD_NO 4
  1596.         !ifndef MUI_FINISHPAGE_TITLE_3LINES
  1597.           !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1598.             !define MUI_FINISHPAGE_CURFIELD_TOP 90
  1599.             !define MUI_FINISHPAGE_CURFIELD_BOTTOM 100
  1600.           !else
  1601.             !define MUI_FINISHPAGE_CURFIELD_TOP 120
  1602.             !define MUI_FINISHPAGE_CURFIELD_BOTTOM 130
  1603.           !endif
  1604.         !else
  1605.           !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1606.             !define MUI_FINISHPAGE_CURFIELD_TOP 100
  1607.             !define MUI_FINISHPAGE_CURFIELD_BOTTOM 110
  1608.           !else
  1609.             !define MUI_FINISHPAGE_CURFIELD_TOP 130
  1610.             !define MUI_FINISHPAGE_CURFIELD_BOTTOM 140
  1611.           !endif
  1612.         !endif
  1613.       !else
  1614.         !define MUI_FINISHPAGE_CURFIELD_NO 5
  1615.         !ifndef MUI_FINISHPAGE_TITLE_3LINES
  1616.           !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1617.             !define MUI_FINISHPAGE_CURFIELD_TOP 110
  1618.             !define MUI_FINISHPAGE_CURFIELD_BOTTOM 120
  1619.           !else
  1620.             !define MUI_FINISHPAGE_CURFIELD_TOP 140
  1621.             !define MUI_FINISHPAGE_CURFIELD_BOTTOM 150
  1622.           !endif
  1623.         !else
  1624.           !ifndef MUI_FINISHPAGE_TEXT_LARGE
  1625.             !define MUI_FINISHPAGE_CURFIELD_TOP 120
  1626.             !define MUI_FINISHPAGE_CURFIELD_BOTTOM 130
  1627.           !else
  1628.             !define MUI_FINISHPAGE_CURFIELD_TOP 150
  1629.             !define MUI_FINISHPAGE_CURFIELD_BOTTOM 160
  1630.           !endif
  1631.         !endif
  1632.       !endif
  1633.  
  1634.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Type" "CheckBox"
  1635.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Text" "${MUI_FINISHPAGE_SHOWREADME_TEXT}"
  1636.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Left" "120"
  1637.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Right" "315"
  1638.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Top" "${MUI_FINISHPAGE_CURFIELD_TOP}"
  1639.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Bottom" "${MUI_FINISHPAGE_CURFIELD_BOTTOM}"
  1640.       !ifndef MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
  1641.          !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "State" "1"
  1642.       !endif
  1643.  
  1644.     !endif
  1645.  
  1646.     !ifdef MUI_FINISHPAGE_LINK
  1647.  
  1648.       !ifdef MUI_FINISHPAGE_CURFIELD_NO
  1649.         !undef MUI_FINISHPAGE_CURFIELD_NO
  1650.       !endif
  1651.  
  1652.       !ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
  1653.         !define MUI_FINISHPAGE_CURFIELD_NO 6
  1654.       !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
  1655.         !define MUI_FINISHPAGE_CURFIELD_NO 5
  1656.       !else
  1657.         !define MUI_FINISHPAGE_CURFIELD_NO 4
  1658.       !endif
  1659.  
  1660.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Type" "Link"
  1661.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Text" "${MUI_FINISHPAGE_LINK}"
  1662.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Left" "120"
  1663.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Right" "315"
  1664.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Top" "175"
  1665.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "Bottom" "185"
  1666.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Field ${MUI_FINISHPAGE_CURFIELD_NO}" "State" "${MUI_FINISHPAGE_LINK_LOCATION}"
  1667.  
  1668.     !endif
  1669.  
  1670.     !ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME & MUI_FINISHPAGE_LINK
  1671.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "6"
  1672.     !else ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
  1673.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
  1674.     !else ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_LINK
  1675.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
  1676.     !else ifdef MUI_FINISHPAGE_SHOWREADME & MUI_FINISHPAGE_LINK
  1677.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "5"
  1678.     !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME | MUI_FINISHPAGE_LINK
  1679.       !insertmacro MUI_INSTALLOPTIONS_WRITE "ioSpecial.ini" "Settings" "Numfields" "4"
  1680.     !endif
  1681.  
  1682.     !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  1683.        mui.finish_load:
  1684.     !endif
  1685.  
  1686.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  1687.  
  1688.     LockWindow on
  1689.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
  1690.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1691.  
  1692.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
  1693.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1694.  
  1695.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
  1696.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1697.  
  1698.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
  1699.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1700.  
  1701.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
  1702.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1703.  
  1704.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
  1705.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1706.  
  1707.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
  1708.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1709.     LockWindow off
  1710.  
  1711.     !insertmacro MUI_INSTALLOPTIONS_INITDIALOG "ioSpecial.ini"
  1712.     Pop $MUI_HWND
  1713.     SetCtlColors $MUI_HWND "" "${MUI_BGCOLOR}"
  1714.  
  1715.     GetDlgItem $MUI_TEMP1 $MUI_HWND 1201
  1716.     SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  1717.  
  1718.     CreateFont $MUI_TEMP2 "$(^Font)" "12" "700"
  1719.     SendMessage $MUI_TEMP1 ${WM_SETFONT} $MUI_TEMP2 0
  1720.  
  1721.     GetDlgItem $MUI_TEMP1 $MUI_HWND 1202
  1722.     SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  1723.  
  1724.     !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  1725.  
  1726.       IfRebootFlag 0 mui.finish_noreboot_show
  1727.  
  1728.         GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
  1729.         SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  1730.  
  1731.         GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
  1732.         SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  1733.  
  1734.         Goto mui.finish_show
  1735.  
  1736.       mui.finish_noreboot_show:
  1737.  
  1738.     !endif
  1739.  
  1740.     !ifdef MUI_FINISHPAGE_RUN
  1741.       GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
  1742.       SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  1743.     !endif
  1744.  
  1745.     !ifdef MUI_FINISHPAGE_SHOWREADME
  1746.       !ifndef MUI_FINISHPAGE_RUN
  1747.         GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
  1748.       !else
  1749.         GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
  1750.       !endif
  1751.       SetCtlColors $MUI_TEMP1 "" "${MUI_BGCOLOR}"
  1752.     !endif
  1753.  
  1754.     !ifdef MUI_FINISHPAGE_LINK
  1755.       !ifdef MUI_FINISHPAGE_RUN & MUI_FINISHPAGE_SHOWREADME
  1756.         GetDlgItem $MUI_TEMP1 $MUI_HWND 1205
  1757.       !else ifdef MUI_FINISHPAGE_RUN | MUI_FINISHPAGE_SHOWREADME
  1758.         GetDlgItem $MUI_TEMP1 $MUI_HWND 1204
  1759.       !else
  1760.         GetDlgItem $MUI_TEMP1 $MUI_HWND 1203
  1761.       !endif
  1762.       SetCtlColors $MUI_TEMP1 "${MUI_FINISHPAGE_LINK_COLOR}" "${MUI_BGCOLOR}"
  1763.     !endif
  1764.  
  1765.     !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  1766.       mui.finish_show:
  1767.     !endif
  1768.  
  1769.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  1770.  
  1771.     !ifdef MUI_FINISHPAGE_ABORTWARNINGCHECK
  1772.       StrCpy $MUI_NOABORTWARNING "1"
  1773.     !endif
  1774.  
  1775.     !insertmacro MUI_INSTALLOPTIONS_SHOW
  1776.  
  1777.     !ifdef MUI_FINISHPAGE_ABORTWARNINGCHECK
  1778.       StrCpy $MUI_NOABORTWARNING ""
  1779.     !endif
  1780.  
  1781.     LockWindow on
  1782.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1028
  1783.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1784.  
  1785.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1256
  1786.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1787.  
  1788.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1035
  1789.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1790.  
  1791.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1037
  1792.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1793.  
  1794.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1038
  1795.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1796.  
  1797.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1039
  1798.     ShowWindow $MUI_TEMP1 ${SW_NORMAL}
  1799.  
  1800.     GetDlgItem $MUI_TEMP1 $HWNDPARENT 1045
  1801.     ShowWindow $MUI_TEMP1 ${SW_HIDE}
  1802.     LockWindow off
  1803.  
  1804.   FunctionEnd
  1805.  
  1806.   Function "${LEAVE}"
  1807.  
  1808.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  1809.  
  1810.     !ifndef MUI_FINISHPAGE_NOREBOOTSUPPORT
  1811.  
  1812.       IfRebootFlag "" mui.finish_noreboot_end
  1813.  
  1814.         !insertmacro MUI_INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
  1815.  
  1816.           StrCmp $MUI_TEMP1 "1" 0 +2
  1817.             Reboot
  1818.  
  1819.           Return
  1820.  
  1821.       mui.finish_noreboot_end:
  1822.  
  1823.     !endif
  1824.  
  1825.     !ifdef MUI_FINISHPAGE_RUN
  1826.  
  1827.       !insertmacro MUI_INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
  1828.  
  1829.       StrCmp $MUI_TEMP1 "1" 0 mui.finish_norun
  1830.         !ifndef MUI_FINISHPAGE_RUN_FUNCTION
  1831.           !ifndef MUI_FINISHPAGE_RUN_PARAMETERS
  1832.             StrCpy $MUI_TEMP1 "$\"${MUI_FINISHPAGE_RUN}$\""
  1833.           !else
  1834.             StrCpy $MUI_TEMP1 "$\"${MUI_FINISHPAGE_RUN}$\" ${MUI_FINISHPAGE_RUN_PARAMETERS}"
  1835.           !endif
  1836.           Exec "$MUI_TEMP1"
  1837.         !else
  1838.           Call "${MUI_FINISHPAGE_RUN_FUNCTION}"
  1839.         !endif
  1840.  
  1841.         mui.finish_norun:
  1842.  
  1843.     !endif
  1844.  
  1845.     !ifdef MUI_FINISHPAGE_SHOWREADME
  1846.  
  1847.       !ifndef MUI_FINISHPAGE_RUN
  1848.         !insertmacro MUI_INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 4" "State"
  1849.       !else
  1850.         !insertmacro MUI_INSTALLOPTIONS_READ $MUI_TEMP1 "ioSpecial.ini" "Field 5" "State"
  1851.       !endif
  1852.  
  1853.       StrCmp $MUI_TEMP1 "1" 0 mui.finish_noshowreadme
  1854.         !ifndef MUI_FINISHPAGE_SHOWREADME_FUNCTION
  1855.            ExecShell "open" "${MUI_FINISHPAGE_SHOWREADME}"
  1856.         !else
  1857.           Call "${MUI_FINISHPAGE_SHOWREADME_FUNCTION}"
  1858.         !endif
  1859.  
  1860.         mui.finish_noshowreadme:
  1861.  
  1862.     !endif
  1863.  
  1864.   FunctionEnd
  1865.  
  1866. !macroend
  1867.  
  1868. !macro MUI_UNFUNCTION_CONFIRMPAGE PRE SHOW LEAVE
  1869.  
  1870.   Function "${PRE}"
  1871.  
  1872.    !insertmacro MUI_PAGE_FUNCTION_CUSTOM PRE
  1873.    !insertmacro MUI_HEADER_TEXT_PAGE $(MUI_UNTEXT_CONFIRM_TITLE) $(MUI_UNTEXT_CONFIRM_SUBTITLE)
  1874.  
  1875.   FunctionEnd
  1876.  
  1877.   Function "${SHOW}"
  1878.  
  1879.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM SHOW
  1880.  
  1881.   FunctionEnd
  1882.  
  1883.   Function "${LEAVE}"
  1884.  
  1885.     !insertmacro MUI_PAGE_FUNCTION_CUSTOM LEAVE
  1886.  
  1887.   FunctionEnd
  1888.  
  1889. !macroend
  1890.  
  1891. ;--------------------------------
  1892. ;INSTALL OPTIONS (CUSTOM PAGES)
  1893.  
  1894. !macro MUI_INSTALLOPTIONS_EXTRACT FILE
  1895.  
  1896.   !verbose push
  1897.   !verbose ${MUI_VERBOSE}
  1898.  
  1899.   InitPluginsDir
  1900.  
  1901.   File "/oname=$PLUGINSDIR\${FILE}" "${FILE}"
  1902.  
  1903.   !insertmacro MUI_INSTALLOPTIONS_WRITE "${FILE}" "Settings" "RTL" "$(^RTL)"
  1904.  
  1905.   !verbose pop
  1906.  
  1907. !macroend
  1908.  
  1909. !macro MUI_INSTALLOPTIONS_EXTRACT_AS FILE FILENAME
  1910.  
  1911.   !verbose push
  1912.   !verbose ${MUI_VERBOSE}
  1913.  
  1914.   InitPluginsDir
  1915.  
  1916.   File "/oname=$PLUGINSDIR\${FILENAME}" "${FILE}"
  1917.  
  1918.   !insertmacro MUI_INSTALLOPTIONS_WRITE "${FILENAME}" "Settings" "RTL" "$(^RTL)"
  1919.  
  1920.   !verbose pop
  1921.  
  1922. !macroend
  1923.  
  1924. !macro MUI_INSTALLOPTIONS_DISPLAY FILE
  1925.  
  1926.   !verbose push
  1927.   !verbose ${MUI_VERBOSE}
  1928.  
  1929.   InstallOptions::dialog "$PLUGINSDIR\${FILE}"
  1930.   Pop $MUI_TEMP1
  1931.  
  1932.   !verbose pop
  1933.  
  1934. !macroend
  1935.  
  1936. !macro MUI_INSTALLOPTIONS_DISPLAY_RETURN FILE
  1937.  
  1938.   !verbose push
  1939.   !verbose ${MUI_VERBOSE}
  1940.  
  1941.   InstallOptions::dialog "$PLUGINSDIR\${FILE}"
  1942.  
  1943.   !verbose pop
  1944.  
  1945. !macroend
  1946.  
  1947. !macro MUI_INSTALLOPTIONS_INITDIALOG FILE
  1948.  
  1949.   !verbose push
  1950.   !verbose ${MUI_VERBOSE}
  1951.  
  1952.   InstallOptions::initDialog /NOUNLOAD "$PLUGINSDIR\${FILE}"
  1953.  
  1954.   !verbose pop
  1955.  
  1956. !macroend
  1957.  
  1958. !macro MUI_INSTALLOPTIONS_SHOW
  1959.  
  1960.   !verbose push
  1961.   !verbose ${MUI_VERBOSE}
  1962.  
  1963.   InstallOptions::show
  1964.   Pop $MUI_TEMP1
  1965.  
  1966.   !verbose pop
  1967.  
  1968. !macroend
  1969.  
  1970. !macro MUI_INSTALLOPTIONS_SHOW_RETURN
  1971.  
  1972.   !verbose push
  1973.   !verbose ${MUI_VERBOSE}
  1974.  
  1975.   InstallOptions::show
  1976.  
  1977.   !verbose pop
  1978.  
  1979. !macroend
  1980.  
  1981. !macro MUI_INSTALLOPTIONS_READ VAR FILE SECTION KEY
  1982.  
  1983.   !verbose push
  1984.   !verbose ${MUI_VERBOSE}
  1985.  
  1986.   ReadIniStr ${VAR} "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}"
  1987.  
  1988.   !verbose pop
  1989.  
  1990. !macroend
  1991.  
  1992. !macro MUI_INSTALLOPTIONS_WRITE FILE SECTION KEY VALUE
  1993.  
  1994.   !verbose push
  1995.   !verbose ${MUI_VERBOSE}
  1996.  
  1997.   WriteIniStr "$PLUGINSDIR\${FILE}" "${SECTION}" "${KEY}" "${VALUE}"
  1998.  
  1999.   !verbose pop
  2000.  
  2001. !macroend
  2002.  
  2003. ;--------------------------------
  2004. ;RESERVE FILES
  2005.  
  2006. !macro MUI_RESERVEFILE_INSTALLOPTIONS
  2007.  
  2008.   !verbose push
  2009.   !verbose ${MUI_VERBOSE}
  2010.  
  2011.   ReserveFile "${NSISDIR}\Plugins\InstallOptions.dll"
  2012.  
  2013.   !verbose pop
  2014.  
  2015. !macroend
  2016.  
  2017. !macro MUI_RESERVEFILE_LANGDLL
  2018.  
  2019.   !verbose push
  2020.   !verbose ${MUI_VERBOSE}
  2021.  
  2022.   ReserveFile "${NSISDIR}\Plugins\LangDLL.dll"
  2023.  
  2024.   !verbose pop
  2025.  
  2026. !macroend
  2027.  
  2028. ;--------------------------------
  2029. ;LANGUAGES
  2030.  
  2031. !macro MUI_LANGUAGE LANGUAGE
  2032.  
  2033.   !verbose push
  2034.   !verbose ${MUI_VERBOSE}
  2035.  
  2036.   !include "${NSISDIR}\Contrib\Modern UI\Language files\${LANGUAGE}.nsh"
  2037.  
  2038.   !verbose pop
  2039.  
  2040. !macroend
  2041.  
  2042. ;--------------------------------
  2043. ;LANGUAGE SELECTION DIALOG
  2044.  
  2045. !macro MUI_LANGDLL_DISPLAY
  2046.  
  2047.   !verbose push
  2048.   !verbose ${MUI_VERBOSE}
  2049.  
  2050.   !ifdef NSIS_CONFIG_SILENT_SUPPORT
  2051.     IfSilent mui.langdll_done
  2052.   !endif
  2053.  
  2054.   !insertmacro MUI_DEFAULT MUI_LANGDLL_WINDOWTITLE "Installer Language"
  2055.   !insertmacro MUI_DEFAULT MUI_LANGDLL_INFO "Please select a language."
  2056.  
  2057.   !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
  2058.  
  2059.     ReadRegStr $MUI_TEMP1 "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
  2060.     StrCmp $MUI_TEMP1 "" mui.langdll_show
  2061.       StrCpy $LANGUAGE $MUI_TEMP1
  2062.       !ifndef MUI_LANGDLL_ALWAYSSHOW
  2063.         Goto mui.langdll_done
  2064.       !endif
  2065.     mui.langdll_show:
  2066.  
  2067.   !endif
  2068.  
  2069.   !ifdef MUI_LANGDLL_ALLLANGUAGES
  2070.     LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" A ${MUI_LANGDLL_PUSHLIST} ""
  2071.   !else
  2072.     LangDLL::LangDialog "${MUI_LANGDLL_WINDOWTITLE}" "${MUI_LANGDLL_INFO}" AC ${MUI_LANGDLL_PUSHLIST} ""
  2073.   !endif
  2074.  
  2075.  
  2076.   Pop $LANGUAGE
  2077.   StrCmp $LANGUAGE "cancel" 0 +2
  2078.     Abort
  2079.  
  2080.   !ifdef NSIS_CONFIG_SILENT_SUPPORT
  2081.     mui.langdll_done:
  2082.   !else ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
  2083.     mui.langdll_done:
  2084.   !endif
  2085.  
  2086.   !verbose pop
  2087.  
  2088. !macroend
  2089.  
  2090. !macro MUI_LANGDLL_SAVELANGUAGE
  2091.  
  2092.   !ifndef MUI_PAGE_UNINSTALLER
  2093.  
  2094.     IfAbort mui.langdllsavelanguage_abort
  2095.  
  2096.     !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
  2097.       WriteRegStr "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}" $LANGUAGE
  2098.     !endif
  2099.  
  2100.     mui.langdllsavelanguage_abort:
  2101.  
  2102.   !endif
  2103.  
  2104. !macroend
  2105.  
  2106. !macro MUI_UNGETLANGUAGE
  2107.  
  2108.   !verbose pop
  2109.  
  2110.   !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
  2111.  
  2112.     ReadRegStr $MUI_TEMP1 "${MUI_LANGDLL_REGISTRY_ROOT}" "${MUI_LANGDLL_REGISTRY_KEY}" "${MUI_LANGDLL_REGISTRY_VALUENAME}"
  2113.     StrCmp $MUI_TEMP1 "" 0 mui.ungetlanguage_setlang
  2114.  
  2115.   !endif
  2116.  
  2117.   !insertmacro MUI_LANGDLL_DISPLAY
  2118.  
  2119.   !ifdef MUI_LANGDLL_REGISTRY_ROOT & MUI_LANGDLL_REGISTRY_KEY & MUI_LANGDLL_REGISTRY_VALUENAME
  2120.  
  2121.     Goto mui.ungetlanguage_done
  2122.  
  2123.     mui.ungetlanguage_setlang:
  2124.       StrCpy $LANGUAGE $MUI_TEMP1
  2125.  
  2126.     mui.ungetlanguage_done:
  2127.  
  2128.   !endif
  2129.  
  2130.   !verbose pop
  2131.  
  2132. !macroend
  2133.  
  2134. ;--------------------------------
  2135. ;LANGUAGE FILES
  2136.  
  2137. !macro MUI_LANGUAGEFILE_BEGIN LANGUAGE
  2138.  
  2139.   !ifndef MUI_INSERT
  2140.     !define MUI_INSERT
  2141.     !insertmacro MUI_INSERT
  2142.   !endif
  2143.  
  2144.   !ifndef "MUI_LANGUAGEFILE_${LANGUAGE}_USED"
  2145.  
  2146.     !define "MUI_LANGUAGEFILE_${LANGUAGE}_USED"
  2147.  
  2148.     LoadLanguageFile "${NSISDIR}\Contrib\Language files\${LANGUAGE}.nlf"
  2149.  
  2150.   !else
  2151.  
  2152.     !error "Modern UI language file ${LANGUAGE} included twice!"
  2153.  
  2154.   !endif
  2155.  
  2156. !macroend
  2157.  
  2158. !macro MUI_LANGUAGEFILE_DEFAULT NAME VALUE
  2159.  
  2160.   !ifndef "${NAME}"
  2161.     !define "${NAME}" "${VALUE}"
  2162.     !ifndef MUI_LANGUAGEFILE_DEFAULT_USED
  2163.       !define MUI_LANGUAGEFILE_DEFAULT_USED
  2164.     !endif
  2165.   !endif
  2166.  
  2167. !macroend
  2168.  
  2169. !macro MUI_LANGUAGEFILE_LANGSTRING NAME
  2170.  
  2171.   LangString "${NAME}" 0 "${${NAME}}"
  2172.   !undef "${NAME}"
  2173.  
  2174. !macroend
  2175.  
  2176. !macro MUI_LANGUAGEFILE_UNLANGSTRING NAME
  2177.  
  2178.   !ifdef MUI_UNINSTALLER
  2179.     LangString "${NAME}" 0 "${${NAME}}"
  2180.     !undef "${NAME}"
  2181.   !else
  2182.     !undef "${NAME}"
  2183.   !endif
  2184.  
  2185. !macroend
  2186.  
  2187. !macro MUI_LANGUAGEFILE_LANGSTRING_PAGE PAGE NAME
  2188.  
  2189.   !ifdef MUI_${PAGE}PAGE
  2190.     LangString "${NAME}" 0 "${${NAME}}"
  2191.     !undef "${NAME}"
  2192.   !else
  2193.     !undef "${NAME}"
  2194.   !endif
  2195.  
  2196. !macroend
  2197.  
  2198. !macro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE PAGE NAME
  2199.  
  2200.   !ifdef MUI_UNINSTALLER
  2201.     !ifdef MUI_UN${PAGE}PAGE
  2202.       LangString "${NAME}" 0 "${${NAME}}"
  2203.       !undef "${NAME}"
  2204.     !else
  2205.       !undef "${NAME}"
  2206.     !endif
  2207.   !else
  2208.     !undef "${NAME}"
  2209.   !endif
  2210.  
  2211. !macroend
  2212.  
  2213. !macro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE PAGE NAME
  2214.  
  2215.   !ifdef MUI_${PAGE}PAGE | MUI_UN${PAGE}PAGE
  2216.     LangString "${NAME}" 0 "${${NAME}}"
  2217.     !undef "${NAME}"
  2218.   !else
  2219.     !undef "${NAME}"
  2220.   !endif
  2221.  
  2222. !macroend
  2223.  
  2224. !macro MUI_LANGUAGEFILE_LANGSTRING_DEFINE DEFINE NAME
  2225.  
  2226.   !ifdef "${DEFINE}"
  2227.     LangString "${NAME}" 0 "${${NAME}}"
  2228.   !endif
  2229.   !undef "${NAME}"
  2230.  
  2231. !macroend
  2232.  
  2233. !macro MUI_LANGUAGEFILE_DEFINE DEFINE NAME
  2234.  
  2235.   !ifndef "${DEFINE}"
  2236.     !define "${DEFINE}" "${${NAME}}"
  2237.   !endif
  2238.   !undef "${NAME}"
  2239.  
  2240. !macroend
  2241.  
  2242. !macro MUI_LANGUAGEFILE_END
  2243.  
  2244.   !include "${NSISDIR}\Contrib\Modern UI\Language files\Default.nsh"
  2245.   !ifdef MUI_LANGUAGEFILE_DEFAULT_USED
  2246.     !undef MUI_LANGUAGEFILE_DEFAULT_USED
  2247.     !warning "${LANGUAGE} Modern UI language file version doesn't match. Using default English texts for missing strings."
  2248.   !endif
  2249.  
  2250.   !insertmacro MUI_LANGUAGEFILE_DEFINE "MUI_${LANGUAGE}_LANGNAME" "MUI_LANGNAME"
  2251.  
  2252.   !ifndef MUI_LANGDLL_PUSHLIST
  2253.     !ifdef MUI_LANGDLL_ALLLANGUAGES
  2254.       !define MUI_LANGDLL_PUSHLIST "'${MUI_${LANGUAGE}_LANGNAME}' '${LANG_${LANGUAGE}}' "
  2255.     !else
  2256.       !define MUI_LANGDLL_PUSHLIST "'${MUI_${LANGUAGE}_LANGNAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' "
  2257.     !endif
  2258.   !else
  2259.     !ifdef MUI_LANGDLL_PUSHLIST_TEMP
  2260.       !undef MUI_LANGDLL_PUSHLIST_TEMP
  2261.     !endif
  2262.     !define MUI_LANGDLL_PUSHLIST_TEMP "${MUI_LANGDLL_PUSHLIST}"
  2263.     !undef MUI_LANGDLL_PUSHLIST
  2264.  
  2265.     !ifdef MUI_LANGDLL_ALLLANGUAGES
  2266.       !define MUI_LANGDLL_PUSHLIST "'${MUI_${LANGUAGE}_LANGNAME}' '${LANG_${LANGUAGE}}' ${MUI_LANGDLL_PUSHLIST_TEMP}"
  2267.     !else
  2268.       !define MUI_LANGDLL_PUSHLIST "'${MUI_${LANGUAGE}_LANGNAME}' '${LANG_${LANGUAGE}}' '${LANG_${LANGUAGE}_CP}' ${MUI_LANGDLL_PUSHLIST_TEMP}"
  2269.     !endif
  2270.  
  2271.   !endif
  2272.  
  2273.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME "MUI_TEXT_WELCOME_INFO_TITLE"
  2274.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE WELCOME "MUI_TEXT_WELCOME_INFO_TEXT"
  2275.  
  2276.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_TEXT_LICENSE_TITLE"
  2277.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_TEXT_LICENSE_SUBTITLE"
  2278.   !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE LICENSE "MUI_INNERTEXT_LICENSE_TOP"
  2279.  
  2280.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_INNERTEXT_LICENSE_BOTTOM"
  2281.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_INNERTEXT_LICENSE_BOTTOM_CHECKBOX"
  2282.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE LICENSE "MUI_INNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS"
  2283.  
  2284.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS "MUI_TEXT_COMPONENTS_TITLE"
  2285.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE COMPONENTS "MUI_TEXT_COMPONENTS_SUBTITLE"
  2286.   !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE COMPONENTS "MUI_INNERTEXT_COMPONENTS_DESCRIPTION_TITLE"
  2287.   !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE COMPONENTS "MUI_INNERTEXT_COMPONENTS_DESCRIPTION_INFO"
  2288.  
  2289.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY "MUI_TEXT_DIRECTORY_TITLE"
  2290.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE DIRECTORY "MUI_TEXT_DIRECTORY_SUBTITLE"
  2291.  
  2292.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU "MUI_TEXT_STARTMENU_TITLE"
  2293.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU "MUI_TEXT_STARTMENU_SUBTITLE"
  2294.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU "MUI_INNERTEXT_STARTMENU_TOP"
  2295.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE STARTMENU "MUI_INNERTEXT_STARTMENU_CHECKBOX"
  2296.  
  2297.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_INSTALLING_TITLE"
  2298.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_INSTALLING_SUBTITLE"
  2299.  
  2300.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_FINISH_TITLE"
  2301.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_FINISH_SUBTITLE"
  2302.  
  2303.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_ABORT_TITLE"
  2304.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE INSTFILES "MUI_TEXT_ABORT_SUBTITLE"
  2305.  
  2306.   !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_BUTTONTEXT_FINISH"
  2307.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_INFO_TITLE"
  2308.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_INFO_TEXT"
  2309.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_INFO_REBOOT"
  2310.   !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_REBOOTNOW"
  2311.   !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_REBOOTLATER"
  2312.   !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_RUN"
  2313.   !insertmacro MUI_LANGUAGEFILE_MULTILANGSTRING_PAGE FINISH "MUI_TEXT_FINISH_SHOWREADME"
  2314.  
  2315.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_DEFINE MUI_ABORTWARNING "MUI_TEXT_ABORTWARNING"
  2316.  
  2317.  
  2318.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE WELCOME "MUI_UNTEXT_WELCOME_INFO_TITLE"
  2319.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE WELCOME "MUI_UNTEXT_WELCOME_INFO_TEXT"
  2320.  
  2321.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE CONFIRM "MUI_UNTEXT_CONFIRM_TITLE"
  2322.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE CONFIRM "MUI_UNTEXT_CONFIRM_SUBTITLE"
  2323.  
  2324.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNTEXT_LICENSE_TITLE"
  2325.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNTEXT_LICENSE_SUBTITLE"
  2326.  
  2327.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNINNERTEXT_LICENSE_BOTTOM"
  2328.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNINNERTEXT_LICENSE_BOTTOM_CHECKBOX"
  2329.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE LICENSE "MUI_UNINNERTEXT_LICENSE_BOTTOM_RADIOBUTTONS"
  2330.  
  2331.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE COMPONENTS "MUI_UNTEXT_COMPONENTS_TITLE"
  2332.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE COMPONENTS "MUI_UNTEXT_COMPONENTS_SUBTITLE"
  2333.  
  2334.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE DIRECTORY "MUI_UNTEXT_DIRECTORY_TITLE"
  2335.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE DIRECTORY  "MUI_UNTEXT_DIRECTORY_SUBTITLE"
  2336.  
  2337.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_UNINSTALLING_TITLE"
  2338.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_UNINSTALLING_SUBTITLE"
  2339.  
  2340.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_FINISH_TITLE"
  2341.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_FINISH_SUBTITLE"
  2342.  
  2343.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_ABORT_TITLE"
  2344.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE INSTFILES "MUI_UNTEXT_ABORT_SUBTITLE"
  2345.  
  2346.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH "MUI_UNTEXT_FINISH_INFO_TITLE"
  2347.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH "MUI_UNTEXT_FINISH_INFO_TEXT"
  2348.   !insertmacro MUI_LANGUAGEFILE_UNLANGSTRING_PAGE FINISH "MUI_UNTEXT_FINISH_INFO_REBOOT"
  2349.  
  2350.   !insertmacro MUI_LANGUAGEFILE_LANGSTRING_DEFINE MUI_UNABORTWARNING "MUI_UNTEXT_ABORTWARNING"
  2351.  
  2352. !macroend
  2353.  
  2354. ;--------------------------------
  2355. ;END
  2356.  
  2357. !endif
  2358.  
  2359. !verbose pop
  2360.